﻿#ifndef UIMODELINFO_H
#define UIMODELINFO_H


#include <devicemodel/CModelInfo.h>
#include <shlib/iottypedef.h>

#include <model/uimodelyxtableview.h>
#include <model/uimodelyctableview.h>
#include <model/uimodelyktableview.h>
#include <model/uimodelparametertableview.h>



class UiModelInfo : public QWidget
{
    Q_OBJECT
public:
    explicit UiModelInfo(QWidget *parent = nullptr);
    void uiInit();

signals:
    void selectModelChange(const QString& name, const QString& user);

public slots:
    void onSigSelectModelChange(QSharedPointer<CModelInfo>& model);

private:
    class ElaTabWidget* m_maintabWidget = nullptr;

    class ElaTabWidget* m_tabWidget = nullptr;

    class UiModelTreeView* m_modelTree = nullptr;

    class ElaSuggestBox* m_serchBox = nullptr;

    class UiModelYxTableView* m_yxview = nullptr;
    class UiModelYcTableView* m_ycview = nullptr;
    class UiModelYkTableView* m_ykview = nullptr;
    class UiModelParameterTableView* m_parameterview = nullptr;

    class UiDeviceInfo* m_deviceView = nullptr;

    class UiModBusMapInfo* m_modbusmapwidget = nullptr;

    QSharedPointer<CModelInfo> m_info;

    class ElaText* m_lab_name;
    class ElaText* m_lab_user;
    class ElaText* m_lab_descr;
    class ElaText* m_lab_sn;
    class ElaText* m_lab_group;
    class ElaText* m_lab_location;
    class ElaText* m_lab_createtime;
    class ElaText* m_lab_updatetime;
    class ElaText* m_lab_producer;
    class ElaText* m_lab_valid;
};

#endif // UIMODELINFO_H
